package com.mhc.suzuki.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author Churry
 * @create 2017-10-09 21:19
 **/
@Data
public class OverdueCollectTaskVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键，逾期催收待办任务ID
     * pcl_overdue_collect_task.task_id
     */
    private Long taskId;

    /**
     * 订单编号:产品代码+时间+4位随机数

     * pcl_order.order_no
     */
    private String orderNo;

    /**
     * 客户身份证号，逾期记录和客户直接挂钩，所以这里记录客户的身份标识-身份证号
     * pcl_overdue_list.customer_id_card
     */
    private String customerIdCard;

    /**
     * 逾期客户姓名
     * pcl_overdue_list.customer_name
     */
    private String customerName;

    /**
     * 逾期金额
     * pcl_overdue_list.amount
     */
    private java.math.BigDecimal amount;

    /**
     * 银行卡号
     * pcl_overdue_list.bank_card_no
     */
    private String bankCardNo;

    /**
     * 贷款银行编号
     * pcl_overdue_list.bank_id
     */
    private Long bankId;

    /**
     * 贷款银行
     * pcl_overdue_list.bank_name
     */
    private String bankName;

    /**
     * 应还款日期
     */
    private String repaymentDate;

    /**
     * 实际还款日期
     */
    @SuppressWarnings("squid:S3437")
    @JsonFormat(pattern="yyyy-MM-dd")
    private LocalDateTime actualRepaymentDate;

    /**
     * 处理人ID：员工或者角色ID
     * pcl_overdue_collect_task.handler_id
     */
    private Long handlerId;

    /**
     * 当前任务分配人即该条记录的创建人
     * pcl_overdue_collect_task.staff_id
     */
    private Long staffId;

    /**
     * 任务状态：-1 已删除，0 待处理，1 已处理
     * pcl_overdue_collect_task.status
     */
    private Integer status;

    /**
     * 记录创建时间
     * pcl_overdue_list.gmt_create
     */
    @SuppressWarnings("squid:S3437")
    @JsonFormat(pattern="yyyy-MM-dd")
    private LocalDateTime gmtCreate;

    /**
     * 记录修改时间
     * pcl_overdue_list.gmt_modified
     */
    @SuppressWarnings("squid:S3437")
    @JsonFormat(pattern="yyyy-MM-dd")
    private LocalDateTime gmtModified;

}